home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / System / MRAC / Mapping / m-unison < prev    next >
Lisp/Scheme  |  1998-08-11  |  1KB  |  37 lines

  1. m-unison unisons-list item-lists
  2.  
  3. The function m-unison has been developed to enable unison passages to coordinated between parts in a complex sequence of zone-lengths, symbol-lists and note-length-lists. 
  4.  
  5. In the example below notice that map-unison acts upon lists of symbols and of note-lengths organising these item-lists into ordering that reflects the template encompassed within the unisons-list. 
  6.  
  7. (setq v1-s '((a) (b) (c) (d)))
  8. (setq v2-s '((e) (f) (g) (h)))
  9. (setq va-s '((i) (j) (k) (l)))
  10. (setq vc-s '((m) (n) (o) (p)))
  11.  
  12. (setq v1-l (qlength '((16-31) (16-22) (16-31) (16-4))))
  13. (setq v2-l (qlength '((20-14) (20-23) (20-32) (20-41))))
  14. (setq va-l (qlength '((8-11) (8-10) (8-01) (8-11))))
  15. (setq vc-l (qlength '((4-1) (4-0) (4-1) (4-1))))
  16.  
  17. (setq s1 '(1 2 3 4))
  18. (setq s2 '(1 3 1 2))
  19. (setq s3 '(2 4 1 1))
  20. (setq s4 '(1 1 2 2))
  21.   
  22. (setq symbol (list v1-s v2-s va-s vc-s))
  23. (setq length (list v1-l v2-l va-l vc-l))
  24. (setq select (list s1 s2 s3 s4))
  25.  
  26. (m-unison select symbol)
  27. => (((a) (f) (k) (p))
  28.     ((a) (j) (c) (h))
  29.     ((e) (n) (c) (d))
  30.     ((a) (b) (g) (h)))
  31.  
  32. (m-unison select length)
  33. => (((3/16 1/16) (2/20 3/20) (-1/8 1/8)  (1/4))
  34.     ((3/16 1/16) (1/8 -1/8)  (3/16 1/16) (4/20 1/20))
  35.     ((1/20 4/20) (-1/4)      (3/16 1/16) (4/16))
  36.     ((3/16 1/16) (2/16 2/16) (3/20 2/20) (4/20 1/20)))
  37.